package com.assignwork.service;

import com.assignwork.dto.WorkArrangeShipCabinInfoSubmitDTO;
import com.assignwork.entity.WorkArrangeShipCabinInfo;
import com.assignwork.vo.WorkArrangeShipCabinInfoVO;
import org.springblade.core.mp.base.BaseService;

import java.math.BigDecimal;
import java.util.List;

/**
 * @ClassName IWorkArrangeShipCabinInfoService
 * @Description 航运配工作业舱接口
 * @Author dujianyu
 * @Date 2023/12/22 7:54
 */
public interface IWorkArrangeShipCabinInfoService extends BaseService<WorkArrangeShipCabinInfo> {

    /**
     * 提交航运配工作业舱信息
     * @param arrangeId 配工ID
     * @param data 数据
     * @return boolean
     * @author dujianyu
     * @since 2023/12/22 8:07
     */
    boolean submitWaShipCabinInfo(Long arrangeId, List<WorkArrangeShipCabinInfoSubmitDTO> data);

    /**
     * 根据配工ID删除信息
     * @param arrangeId 配工ID
     * @return boolean
     * @author dujianyu
     * @since 2023/12/22 8:12
     */
    boolean removeByArrangeId(Long arrangeId);

    /**
     * 根据配工ID返回信息
     * @param arrangeId 配工ID
     * @return List<WorkArrangeShipCabinInfoVO>
     * @author dujianyu
     * @since 2023/12/22 8:37
     */
    List<WorkArrangeShipCabinInfoVO> infoByArrangeId(Long arrangeId);

    /**
     * 舱余吨总数
     * @param planId 计划ID
     * @param assemblyLineId 作业线ID
     * @return BigDecimal
     * @author dujianyu
     * @since 2024/4/17 15:59
     */
    BigDecimal allCabinLeftTon(long planId, long assemblyLineId);
}
